Monitoring an Algorithm's Execution
نویسندگان
چکیده
Many software systems for Discrete Mathematics incorporate routines that compute NP-hard functions. In spite of their worst-case exponential running time, there are often a wide range of inputs for which these routines run in interactive time. It is generally diicult for a user to distinguish, a priori, the \easy" inputs from those that are \hard". A percent-done progress indicator is a software tool that allows a user to monitor the percentage of a computation that has been completed. Such indicators have been implemented for linear algorithms (e.g., le transfer programs). This paper introduces a paradigm which we call dynamic bound evaluation for monitoring the progress of a wide class of recursive algorithms that need not be linear. Further, empirical results are presented that illustrate the eeectiveness of the technique as it has been implemented in the SetPlayer system for symbolic set manipulation.
منابع مشابه
Trace Recovery: A Distributed Computing Application for Perturbation Tracking
Execution monitoring plays a central role in most software development tools for parallel and distributed computer systems. However, such monitoring may induce delays that corrupt event timing. In this paper we introduce a perturbation analysis-like algorithm that, given a safe timed Petri net model of the monitored software, can recover the uncorrupted event timings , i.e., those that would ha...
متن کاملDIVIDE: Distributed Visual Display of the Execution of Asynchronous, Distributed Algorithms on Loosely-Coupled Parallel Processors
The issue of monitoring the execution of asynchronous, distributed algorithms on loosely-coupled parallel processor systems, is important for the purposes of (i) detecting inconsistencies and aws in the algorithm, (ii) obtaining important performance parameters for the algorithm, and (iii) developing a conceptual understanding of the algorithm's behavior, for given input stimulus, through visua...
متن کاملThe Balanced Wheat Supply Problem and a Heuristic Algorithm
Wheat is a strategic commodity, and so its distribution system is always one of the major issues facing countries. The cost of wheat distribution and storage and the differences in the nutrient content of different wheats, have caused complicated problems in the wheat supply chain. In addition to controlling distribution costs, it could enhance the quality of wheat through blending different ki...
متن کاملImage processing for identification and quantification of filamentous bacteria in in situ acquired images
BACKGROUND In the activated sludge process, problems of filamentous bulking and foaming can occur due to overgrowth of certain filamentous bacteria. Nowadays, these microorganisms are typically monitored by means of light microscopy, commonly combined with staining techniques. As drawbacks, these methods are susceptible to human errors, subjectivity and limited by the use of discontinuous micro...
متن کاملThe application of software visualization technology to evolutionary computation : a case study in Genetic Algorithms
Evolutionary computation is an area within the eld of arti cial intelligence that is founded upon the principles of biological evolution. Evolution can be de ned as the process of gradual development. Evolutionary algorithms are typically applied as a generic problem solving method, searching a problem space in order to locate good solutions. These solutions are found through an iterative evolu...
متن کامل